package com.demos.cqp.dnt.util;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;


/**
 * Application Lifecycle Listener implementation class DVDListener
 *
 */
@WebListener
public class DVDListener implements ServletContextListener, HttpSessionListener {

    /**
     * Default constructor. 
     */
    public DVDListener() {
        // TODO Auto-generated constructor stub
    }

	/**
     * @see ServletContextListener#contextInitialized(ServletContextEvent)
     */
    public void contextInitialized(ServletContextEvent arg0) {
    	Compteur compteur = (Compteur) arg0.getServletContext()
				.getAttribute("compteur");
		if (compteur == null) {
			compteur = new Compteur();
			arg0.getServletContext().setAttribute("compteur", compteur);
		}
    }

	/**
     * @see HttpSessionListener#sessionCreated(HttpSessionEvent)
     */
    public void sessionCreated(HttpSessionEvent arg0) {
    	Compteur compteur = (Compteur) arg0.getSession().getServletContext()
				.getAttribute("compteur");
    	compteur.incremente();
    }

	/**
     * @see HttpSessionListener#sessionDestroyed(HttpSessionEvent)
     */
    public void sessionDestroyed(HttpSessionEvent arg0) {
    	Compteur compteur = (Compteur) arg0.getSession().getServletContext()
				.getAttribute("compteur");
    	compteur.decremente();
    }

	/**
     * @see ServletContextListener#contextDestroyed(ServletContextEvent)
     */
    public void contextDestroyed(ServletContextEvent arg0) {
        // TODO Auto-generated method stub
    }
	
}
